package io.renren.sdapi.dto.httprequestparam.image2image;

import io.renren.enums.SamplerNameEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.Map;

@Data
@Schema(description = "图片转图片基础参数")
public class BaseParam {

    @NotNull(message = "提示词不能为空")
    @Schema(description = "提示词")
    private String prompt;

    @Schema(description = "每批生成的图片数")
    private  int batch_size = 1;

    @Schema(description = "生成批次")
    private int n_iter = 1;

    @Schema(description = "生成步数")
    private int steps = 20;

    @Schema(description = "提示词相关性")
    private int cfg_scale = 7;

    @Schema(description = "宽度")
    private int width = 512;

    @Schema(description = "高度")
    private int height = 512;

    private Integer seed = -1;

    @Schema(description = "采样器名称--》SamplerNameEnum")
    private String sampler_name = SamplerNameEnum.DPM_2_M.getName();

    @NotNull(message = "请上传图片")
    @Schema(description = "初始图片")
    private String[] init_images;

    private boolean save_images = true;

    @NotNull(message = "请选择一个对应模型")
    @Schema(description = "覆盖默认设置")
    private Map<String, String> override_settings;
}
